package com.jeesite.modules.dp.entity.column;

import java.util.Date;

import javax.validation.constraints.Size;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.jeesite.common.entity.DataEntity;
import com.jeesite.common.mybatis.annotation.Column;
import com.jeesite.common.mybatis.annotation.Table;

/**
 * 数据列管理Entity
 * @author hancing
 * @version 2024-12-05
 */
@Table(name="dp_column", alias="a", label="数据列信息", columns={
		@Column(name="id", attrName="id", label="主键", isPK=true),
		@Column(name="create_time", attrName="createTime", label="创建时间", isInsert=false, isUpdate=false, isQuery=false, isUpdateForce=true),
		@Column(name="update_time", attrName="updateTime", label="更新时间", isInsert=false, isUpdate=false, isQuery=false, isUpdateForce=true),
		@Column(name="delete_time", attrName="deleteTime", label="删除时间", isInsert=false, isUpdate=false, isQuery=false, isUpdateForce=true),
		@Column(name="column_name", attrName="columnName", label="列名", isQuery=true),
		@Column(name="column_key", attrName="columnKey", label="列键", isQuery=true),
		@Column(name="column_dataindex", attrName="columnDataindex", label="列键", isQuery=true),
		@Column(name="is_show", attrName="isShow", label="默认显示"),
		@Column(name="is_sort", attrName="isSort", label="可排序", isQuery=true),
		@Column(name="type", attrName="type", label="列类型"),
		@Column(name="iscol", attrName="iscol", label="列类型"),
		@Column(name="iszb", attrName="iszb", label="列类型"),
		@Column(name="visbilezb", attrName="", label="列类型",  isQuery=true),
		@Column(name="zbtype", attrName="zbtype", label="列类型"),
		@Column(name="valuetype", attrName="valuetype", label="值类型"),
		@Column(name="amountunit", attrName="amountunit", label="指标金额单位"),
		@Column(name="zbsearchunit", attrName="zbsearchunit", label="指标查询金额单位"),
		@Column(name="zbsortno", attrName="zbsortno", label="列类型"),
		@Column(name="zbcompare", attrName="zbcompare", label="列类型"),
		@Column(name="comparetext", attrName="comparetext", label="列类型"),
		@Column(name="sort", attrName="sort", label="排序号", isQuery=false),
		@Column(name="is_show_comment", attrName="isShowComment", label="is_show_comment", isInsert=false, isUpdate=false, isQuery=false),
		@Column(name="comment", attrName="comment", label="comment", isInsert=false, isUpdate=false, isQuery=false),
		@Column(includeEntity=DataEntity.class),
	}, orderBy="CAST(a.sort AS SIGNED INTEGER) ASC"
)
public class DpColumn extends DataEntity<DpColumn> {
	
	private static final long serialVersionUID = 1L;
	private Date createTime;		// 创建时间
	private Date updateTime;		// 更新时间
	private Date deleteTime;		// 删除时间
	private String columnName;		// 列名
	private String columnKey;		// 列键
	private String valuetype;
	private String columnDataindex;		// 列键 
	private String isShow;		// 默认显示
	private String isSort;		// 可排序
	private String type;		// 列类型
	private String sort;		// 排序号
	private String isShowComment;		// is_show_comment
	private String comment;		// comment
	private String iscol;
	private String amountunit;
	
	private String zbsearchunit;
	private String iszb;
	private String visbilezb;
	private String zbtype;
	private String zbcompare;
	private String zbsortno;

	private String comparetext;
	public DpColumn() {
		this(null);
	}
	
	public DpColumn(String id){
		super(id);
	}
	
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	public Date getCreateTime() {
		return createTime;
	}

	public String getValuetype() {
		return valuetype;
	}

	public void setValuetype(String valuetype) {
		this.valuetype = valuetype;
	}

	public String getVisbilezb() {
		return visbilezb;
	}

	public void setVisbilezb(String visbilezb) {
		this.visbilezb = visbilezb;
	}

	public void setCreateTime(Date createTime) {
		this.createTime = createTime;
	}
	
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	public Date getUpdateTime() {
		return updateTime;
	}

	public void setUpdateTime(Date updateTime) {
		this.updateTime = updateTime;
	}
	
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	public Date getDeleteTime() {
		return deleteTime;
	}

	public void setDeleteTime(Date deleteTime) {
		this.deleteTime = deleteTime;
	}
	
	@Size(min=0, max=191, message="列名长度不能超过 191 个字符")
	public String getColumnName() {
		return columnName;
	}

	public String getAmountunit() {
		return amountunit;
	}

	public void setAmountunit(String amountunit) {
		this.amountunit = amountunit;
	}

	public String getZbsearchunit() {
		return zbsearchunit;
	}

	public void setZbsearchunit(String zbsearchunit) {
		this.zbsearchunit = zbsearchunit;
	}

	public void setColumnName(String columnName) {
		this.columnName = columnName;
	}
	
	@Size(min=0, max=191, message="列键长度不能超过 191 个字符")
	public String getColumnKey() {
		return columnKey;
	}

	public void setColumnKey(String columnKey) {
		this.columnKey = columnKey;
	}
	
	@Size(min=0, max=1, message="默认显示长度不能超过 1 个字符")
	public String getIsShow() {
		return isShow;
	}

	public void setIsShow(String isShow) {
		this.isShow = isShow;
	}
	
	@Size(min=0, max=1, message="可排序长度不能超过 1 个字符")
	public String getIsSort() {
		return isSort;
	}

	public void setIsSort(String isSort) {
		this.isSort = isSort;
	}
	
	@Size(min=0, max=191, message="列类型长度不能超过 191 个字符")
	public String getType() {
		return type;
	}

	public void setType(String type) {
		this.type = type;
	}
	
	@Size(min=0, max=191, message="排序号长度不能超过 191 个字符")
	public String getSort() {
		return sort;
	}

	public void setSort(String sort) {
		this.sort = sort;
	}
	
	@Size(min=0, max=1, message="is_show_comment长度不能超过 1 个字符")
	public String getIsShowComment() {
		return isShowComment;
	}

	public void setIsShowComment(String isShowComment) {
		this.isShowComment = isShowComment;
	}
	
	@Size(min=0, max=191, message="comment长度不能超过 191 个字符")
	public String getComment() {
		return comment;
	}

	public void setComment(String comment) {
		this.comment = comment;
	}

	public String getColumnDataindex() {
		return columnDataindex;
	}

	public void setColumnDataindex(String columnDataindex) {
		this.columnDataindex = columnDataindex;
	}

	public String getIszb() {
		return iszb;
	}

	public void setIszb(String iszb) {
		this.iszb = iszb;
	}

	public String getZbtype() {
		return zbtype;
	}

	public void setZbtype(String zbtype) {
		this.zbtype = zbtype;
	}

	public String getZbcompare() {
		return zbcompare;
	}

	public void setZbcompare(String zbcompare) {
		this.zbcompare = zbcompare;
	}

	public String getZbsortno() {
		return zbsortno;
	}

	public void setZbsortno(String zbsortno) {
		this.zbsortno = zbsortno;
	}

	public String getComparetext() {
		return comparetext;
	}

	public void setComparetext(String comparetext) {
		this.comparetext = comparetext;
	}

	public String getIscol() {
		return iscol;
	}

	public void setIscol(String iscol) {
		this.iscol = iscol;
	}
	
	
	
}